using System;
using System.Collections;
using System.Runtime.InteropServices;
namespace BMC.ARSystem
{
	[ARStructTypeInfo(Name = "ARAutomationStruct", NumberOfMembers = 5u), ClassInterface, Guid("542642ff-81d8-464b-8029-3c3ebaba33ec"), ProgId("BMC.ARSystem.OleAutomationAction")]
	public class OleAutomationAction : Action
	{
		[ARStructMemTypeInfo(Name = "autoServerName", Offset = 0u)]
		private string _autoServerName;
		[ARStructMemTypeInfo(Name = "clsId", Offset = 1u)]
		private string _clsId;
		[ARStructMemTypeInfo(Name = "action", Offset = 2u)]
		private string _action;
		[ARStructMemTypeInfo(Name = "isVisible", Offset = 3u)]
		private bool _isVisible;
		[ARStructMemTypeInfo(Name = "methodList", Offset = 4u)]
		private ArrayList _methodList;
		public string AutoServerName
		{
			get
			{
				return this._autoServerName;
			}
			set
			{
				this._autoServerName = value;
			}
		}
		public string ClsId
		{
			get
			{
				return this._clsId;
			}
			set
			{
				this._clsId = value;
			}
		}
		public string Action
		{
			get
			{
				return this._action;
			}
			set
			{
				this._action = value;
			}
		}
		public bool IsVisible
		{
			get
			{
				return this._isVisible;
			}
			set
			{
				this._isVisible = value;
			}
		}
		public ArrayList MethodList
		{
			get
			{
				return this._methodList;
			}
			set
			{
				this._methodList = value;
			}
		}
		public OleAutomationAction()
		{
		}
		internal OleAutomationAction(object rawData, Server server)
		{
			int[] indexSpec = new int[1];
			this.AutoServerName = (string)Util.GetAt(rawData, indexSpec);
			this.ClsId = (string)Util.GetAt(rawData, new int[]
			{
				1
			});
			this.Action = (string)Util.GetAt(rawData, new int[]
			{
				2
			});
			this.IsVisible = (Convert.ToInt32(Util.GetAt(rawData, new int[]
			{
				3
			})) != 0);
			this.MethodList = ARTypeMgr.Instance.ArrayListFromVariant(Type.GetType("BMC.ARSystem.COMMethod"), (object[])Util.GetAt(rawData, new int[]
			{
				4
			}), server);
		}
	}
}
